home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1989-06-10 | 27.3 KB | 709 lines
2 ' This programme is used to design SINGLE SPAN BEAMS 3 ' This programme uses Advanced Basic Language ( IBM - BASICA ) 4 ' This programme is saved under the name [ BEAMS ] 5 ' Prepared by AMJAD J. SHAIR 01/01/86 - 09/01/86 6 SCREEN 0,1 :WIDTH 40 :COLOR 15,1,0 :CLS :LOCATE 5 7 PRINT " SINGLE SPAN BEAM DESIGN Prepared by : AMJAD JAMIL EL-SHA'IR" 8 LOCATE 25,5 :PRINT "PRESS SPACE BAR TO CONTINUE "; 9 Y$=INKEY$ :IF Y$<>" " THEN 9 10 '-----------------------------------------------------------------Basic Data 20 SCREEN 0,1 :WIDTH 80 :COLOR 15,1,0 30 CLEAR 40 OPEN "DATA1" FOR INPUT AS #1 50 IF EOF(1) THEN CLOSE :GOTO 80 60 INPUT #1,PRJ$,BLD$,DSR$,FC,FY,FYS,QA 70 GOTO 50 80 PSX(MAX.)=0.75*(4400/(FY+6090))*FC/FY ' Max. Ratio of Reinf' 90 PS(MIN.)=14/FY ' Min. Ratio of Reinf' 100 '--------------------------- Beam Span ,Loading & Calculation of Reactions 110 CLS :LOCATE 2,12 120 PRINT "****** SINGLE SPAN BEAM DESIGN ******" 130 PRINT 140 INPUT " ENTER BEAM NUMBER B",NMB 150 PRINT 160 INPUT " ENTER SPAN LENGTH L (m) ",L 165 IF L>0 GOTO 190 170 PRINT :LOCATE ,6 :COLOR ,4 :BEEP 175 INPUT " **** INVALID ZERO SPAN LENGTH RE-ENTER L **** ",L 180 COLOR ,1:PRINT 185 IF L<=0 GOTO 7800 190 INPUT " ENTER ULT. UNIFORMLY DISTRIBUTED LOAD INTENSITY W (t/m) ",W 195 IF W>0 GOTO 220 200 PRINT :LOCATE ,6 :COLOR ,4 :BEEP 205 INPUT " **** INVALID ZERO DISTRIB. LOAD RE-ENTER W **** ",W 210 COLOR ,1 :PRINT 215 IF W<=0 GOTO 7800 220 RL=W*L/2 225 RR=W*L/2 230 PRINT " ---------------------------------------------------" :PRINT 231 PRINT " *** OTHER LOAD TYPES (Y/N) ? ***"; 232 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 232 234 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 240 236 IF Y$="N" OR Y$="n" THEN PRINT " NO " :GOTO 1510 240 CLS:LOCATE 2,12 : COLOR 15,5 250 PRINT " **** SINGLE SPAN BEAM DESIGN * BEAM : B"NMB " ****" TAB(68)"" 260 PRINT 270 LOCATE ,12 :PRINT " Concrete Crushing Strength f'c = "FC" kg/cm2 " TAB(68)"" 280 LOCATE ,12 :PRINT " Reinf' Steel Yield Stress fy ="FY" kg/cm2 " TAB(68)"" 290 LOCATE ,12 :PRINT " Beam Span Length L ="L " m " TAB(68)"" 300 COLOR 15,1 :PRINT 310 PRINT " ******* LOAD TYPES MENU ******* " 320 PRINT 350 PRINT " [ C ] - CONCENTRATED LOADS " 360 PRINT 370 PRINT " [ B ] - BLOCK LOADS " 380 PRINT 390 PRINT " [ T ] - TRIANGULER LOADS " 400 PRINT 410 PRINT " [ E ] - END WORKING ON THIS BEAM " 420 PRINT 430 PRINT " ENTER THE REQUIRED LOAD TYPE INITIALS : "; 440 LT$=INKEY$ :IF LT$<>"C" AND LT$<>"c" AND LT$<>"U" AND LT$<>"u" AND LT$<>"B" AND LT$<>"b" AND LT$<>"T" AND LT$<>"t" AND LT$<>"E" AND LT$<>"e" THEN 440 450 CLS:LOCATE 2,3 : COLOR 15,5 460 PRINT " **** SINGLE SPAN BEAM DESIGN * BEAM : B"NMB " **** " 470 LOCATE ,3 :PRINT "CONCRETE f'c ="FC" kg/cm2 * REINF' fy ="FY" kg/cm2 * SPAN L ="L" m" TAB(79)"" 480 COLOR 15,1 :PRINT 490 IF LT$="C" OR LT$="c" GOTO 500 494 IF LT$="B" OR LT$="b" GOTO 900 496 IF LT$="T" OR LT$="t" GOTO 1150 498 IF LT$="E" OR LT$="e" GOTO 6000 500 PRINT " *** COCENTRATED LOADS ***" 505 PRINT " -------------------------------" 510 PRINT :LOCATE ,6 :COLOR 0,7 520 PRINT " For more than one Concentrated Load , Enter successivly from left to "TAB(76)"" 525 LOCATE ,6 :PRINT " right according to Load position distance " TAB(76)"" 530 COLOR 15,1 535 J=JB 540 PRINT 550 INPUT " ENTER CONCENTRATED LOAD VALUE F (ton) ",F(J+1) 560 IF F(J+1)>0 GOTO 600 570 PRINT :LOCATE ,3 :COLOR ,4 :BEEP 580 PRINT " !! This load will be neglected !! " 590 COLOR ,1 :GOTO 700 600 INPUT " ENTER POSITION OF LOAD FROM LEFT END X (meter) ",X(J+1) 610 IF X(J+1)<=L GOTO 650 620 PRINT :LOCATE ,3 :COLOR ,4 :BEEP 630 PRINT " !! Error !! Load position out of span RE-ENTER " 640 COLOR ,1 :PRINT :GOTO 600 650 J=J+1 660 RL1(J)=F(J)*(L-X(J))/L 670 RR1(J)=F(J)*X(J)/L 680 RL=RL+RL1(J) 690 RR=RR+RR1(J) 700 PRINT 710 PRINT " *** MORE CONCENTRATED LOADS (Y/N) ? ***"; 720 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 720 722 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 540 724 IF Y$="N" OR Y$="n" THEN PRINT " NO " :JB=J :GOTO 230 900 PRINT " *** BLOCK LOADS ***" 905 PRINT " -------------------------" 908 PRINT :LOCATE ,6 :COLOR 0,7 910 PRINT " For more than one Block Load , Enter successivly from left to right"TAB(76)"" 911 LOCATE ,6 :PRINT " according to Load starting position " TAB(76)"" 912 COLOR 15,1 914 Z=ZB 915 PRINT 920 INPUT " ENTER LOAD INTENSITY W (t/m) ",W3(Z+1) 930 IF W3(Z+1)>0 GOTO 970 940 PRINT :LOCATE ,3 :COLOR ,4 :BEEP 950 PRINT " !! This entry will be neglected !! " 960 COLOR ,1 :GOTO 1120 970 INPUT " ENTER START POSITION OF LOAD BLOCK FROM LEFT END (m) ",A3(Z+1) 980 IF A3(Z+1)<=L GOTO 1020 990 PRINT :LOCATE ,3 :COLOR ,4 :BEEP 1000 PRINT " !! Error !! Load start position out of span RE-ENTER " 1010 COLOR ,1 :PRINT :GOTO 970 1020 INPUT " ENTER LENGTH OF LOAD BLOCK (m) ",B3(Z+1) 1030 IF B3(Z+1)<=(L-A3(Z+1)) GOTO 1070 1040 PRINT :LOCATE ,3 :COLOR ,4 :BEEP 1050 PRINT " !! Error !! Load block out of span RE-ENTER " 1060 COLOR ,1 :PRINT :GOTO 1020 1070 Z=Z+1 1080 RL3(Z)=W3(Z)*B3(Z)*(L-A3(Z)-B3(Z)/2)/L 1090 RR3(Z)=W3(Z)*B3(Z)*(A3(Z)+B3(Z)/2)/L 1100 RL=RL+RL3(Z) 1110 RR=RR+RR3(Z) 1120 PRINT 1130 PRINT " *** MORE BLOCK LOADS (Y/N) ? ***"; 1140 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1140 1142 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 915 1144 IF Y$="N" OR Y$="n" THEN PRINT " NO " :ZB=Z :GOTO 230 1150 PRINT " *** TRIANGULAR DISTRIBUTED LOADS ***" 1155 PRINT " ------------------------------------------" 1160 PRINT :LOCATE ,6 :COLOR 0,7 1165 PRINT " For more than one Triangular Load , Enter successivly from left to "TAB(75)"" 1170 LOCATE ,6 :PRINT " right according to start posit. distance " TAB(75)"" 1175 COLOR 15,1 1176 Q=QB 1178 PRINT 1180 INPUT " ENTER MAXIMUM LOAD INTENSITY W (t/m)",W5(Q+1) 1185 IF W5(Q+1)>0 GOTO 1205 1190 PRINT :LOCATE ,10 :COLOR ,4 :BEEP 1195 PRINT " !! This load will be neglected !! " 1200 COLOR ,1 :GOTO 1320 1205 INPUT " ENTER START POSITION OF TRIANGULER LOAD FROM LEFT END (meter)",A5(Q+1) 1210 IF A5(Q+1)<=L GOTO 1230 1215 PRINT :LOCATE ,6 :COLOR ,4 :BEEP 1220 PRINT " !! Error !! Load start position out of span RE-ENTER " TAB(70)"" 1225 COLOR ,1 :LOCATE ,1 :PRINT :GOTO 1205 1230 INPUT " ENTER LENGTH OF TRIANGULER LOAD (meter)",B5(Q+1) 1235 IF B5(Q+1)<=L-A5(Q+1) GOTO 1255 1240 PRINT :LOCATE ,6 :COLOR ,4 :BEEP 1245 PRINT " !! Error !! Load block out of span RE-ENTER " TAB(70)"" 1250 COLOR ,1 :LOCATE ,1 :PRINT :GOTO 1230 1255 INPUT " ENTER MAX. LOAD INTENSITY POSITION FROM LEFT END (meter)",C5(Q+1) 1260 IF C5(Q+1)>=A5(Q+1) AND C5(Q+1)<=(A5(Q+1)+B5(Q+1)) GOTO 1280 1265 PRINT :LOCATE ,3 :COLOR ,4 :BEEP 1270 PRINT " !! Error !! Maximum load intensity position out of load triangle RE-ENTER" 1275 COLOR ,1 :LOCATE ,1 :PRINT :GOTO 1255 1280 Q=Q+1 1285 RL4(Q)=(W5(Q)*(A5(Q)+B5(Q)-C5(Q))*0.5*(L-C5(Q)-(A5(Q)+B5(Q)-C5(Q))/3))/L+(W5(Q)*(C5(Q)-A5(Q))*0.5*(L-C5(Q)+(C5(Q)-A5(Q))/3))/L 1290 RR4(Q)=(W5(Q)*(A5(Q)+B5(Q)-C5(Q))*0.5*(C5(Q)+(A5(Q)+B5(Q)-C5(Q))/3))/L+(W5(Q)*(C5(Q)-A5(Q))*0.5*(C5(Q)-(C5(Q)-A5(Q))/3))/L 1300 RL=RL+RL4(Q) 1310 RR=RR+RR4(Q) 1320 PRINT 1330 PRINT " *** MORE TRIANGULAR DISTRIBUTED LOADS (Y/N) ? ***"; 1340 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1340 1342 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 1178 1344 IF Y$="N" OR Y$="n" THEN PRINT " NO " :QB=Q :GOTO 230 1500 '-------------------------------------------------Display & Check loading 1510 CLS :LOCATE 2,7 :COLOR 15,5 1520 PRINT " **** SINGLE SPAN BEAM : B"NMB " **** " 1525 COLOR 15,1 :PRINT 1530 PRINT " *** CHECKING BEAM SPAN LENGTH & LOADING ***" 1532 PRINT " ---------------------------------------------" :PRINT 1535 PRINT " BEAM SPAN LENGTH L = "L" meter" 1540 PRINT " UNIFORMLY DISTRIBUTED LOAD W = "W" ton/meter" 1545 PRINT 1550 IF JB<=0 GOTO 1710 1560 PRINT 1570 PRINT " * CONCENTRATED LOADS * " 1580 PRINT " ------------------------ " 1590 FOR J= 1 TO JB 1600 PRINT " "J" - LOAD F ="F(J)" ton , At Distance ="X(J)" m (from left support)" 1610 NEXT 1620 J=J-1 1710 IF ZB<=0 GOTO 1790 1720 PRINT 1730 PRINT " * BLOCK LOADS * " 1740 PRINT " ----------------- " 1750 FOR Z= 1 TO ZB 1760 PRINT " "Z" - W ="W3(Z)" t/m , Starting at "A3(Z)" m (from left supp.) , For"B3(Z)" m Length" 1770 NEXT 1780 Z=Z-1 1790 IF QB<=0 GOTO 1870 1800 PRINT 1810 PRINT " * TRIANGULER LOADS *" 1820 PRINT " ----------------------" 1830 FOR Q= 1 TO QB 1840 PRINT " "Q" - W ="W5(Q)" t/m , Starting at "A5(Q)" m (from left supp.) , For"B5(Q)" m Length" 1845 PRINT " With max. Load Intensity at "C5(Q)"m from left support " 1850 NEXT 1860 Q=Q-1 1870 PRINT 1880 PRINT " * CHECK BEAM LOADING IF YOU MISSED ANY *" 1890 PRINT " * DO YOU WHANT TO ADD MORE LOADS (Y/N) ? *"; 1900 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1900 1910 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 240 1920 IF Y$="N" OR Y$="n" THEN PRINT " NO " :GOTO 2000 2000 '----------------------------------------------Positive Moment Calculation 2010 CLS:LOCATE 2,11 : COLOR 15,5 2020 PRINT " **** SINGLE SPAN BEAM DESIGN * BEAM : B"NMB " ****" TAB(70)"" 2030 PRINT 2040 LOCATE ,11 :PRINT " Concrete Crushing Strength f'c = "FC" kg/cm2 " TAB(70)"" 2050 LOCATE ,11 :PRINT " Reinf' Steel Yield Stress fy ="FY" kg/cm2 " TAB(70)"" 2060 LOCATE ,11 :PRINT " Beam Span Length L ="L " m " TAB(70)"" 2070 COLOR 15,1 :PRINT 2080 RL=(CINT(RL*100))/100 :RR=(CINT(RR*100))/100 2090 PRINT " Reaction at LEFT Support R (left) ="RL" ton" 2100 PRINT " Reaction at RIGHT Support R (right) ="RR" ton" 2110 GOSUB 8400 2420 X=(CINT(XL*100))/100 2430 MU1=(CINT(MP*100))/100 2440 PRINT 2450 PRINT " Location of Max. Positive Moment (from left support) X ="X" m" 2460 PRINT " Maximum Positive Moment Mu+ ="MU1" t.m" 3000 '-----------------------------------------Design of Conc. Section & Reinf' 3010 PRINT :LOCATE ,3 :COLOR 0,7 3020 INPUT " ENTER THE TOTAL height OF BEAM SECTION h (cm) = ",H 3030 COLOR 15,1 3040 IF H >0 GOTO 3090 3050 PRINT :LOCATE ,3 :COLOR ,4 :BEEP 3060 INPUT "Zero HEIGHT can't be used , Do you want to RE-ENTER ? (Y/N)",Y$ 3070 COLOR ,1 :PRINT 3080 IF Y$="Y" GOTO 3020 ELSE GOTO 6010 3090 IF H>30 THEN D=H-5 ELSE D=H-4 3095 MU=MU1 3100 PS=PSX(MAX.) 'For Min. Concrete Section , Max. Reinf' 3110 GOSUB 6500 3120 B1=B :PS1=PS :AS1=AS :NB1=NB :DIA1=DIA :ASP1=ASP 3130 PS=0.27*FC/FY 'For Moderate Concrete Section And Reinf' 3140 GOSUB 6500 3150 B2=B :PS2=PS :AS2=AS :NB2=NB :DIA2=DIA :ASP2=ASP 3160 PS=PS(MIN.) 'For Max. Concrete Section , Min. Reinf' 3170 GOSUB 6500 3180 B3=B :PS3=PS :AS3=AS :NB3=NB :DIA3=DIA :ASP3=ASP 3190 PRINT 3200 PRINT " 1- Use max.Reinf' b ="B1" cm * As="AS1" cm2 * REINF':"NB1;CHR$(237);DIA1 " mm" 3210 PRINT 3220 PRINT " 2- Use med.Reinf' b ="B2" cm * As="AS2" cm2 * REINF':"NB2;CHR$(237);DIA2 " mm" 3230 PRINT 3240 PRINT " 3- Use min.Reinf' b ="B3" cm * As="AS3" cm2 * REINF':"NB3;CHR$(237);DIA3 " mm" 3250 PRINT :LOCATE ,3 :COLOR 0,7 3255 INPUT " ENTER ANY width FOR THE BEAM WITHIN THE ABOVE LIMITS , b (cm) = ",B 3260 COLOR 15,1 3270 IF B<=0 GOTO 3250 3280 IF B<B1 THEN BEEP :PRINT :PRINT " !!!! WIDTH IS VERY SMALL ,COMPRESSION REINFORCEMENT WILL BE NEEDED " 3290 GOSUB 7300 3300 GOSUB 6300 3310 MU1=(CINT(MU1*100))/100 :AS1=(CINT(AS*100))/100 3315 CASE=0 :PRINT 3320 IF AS1<AS(MIN.) GOTO 3330 3325 PRINT " Mu+ (max.) ="MU1" t.m , As (required) ="AS1" cm2 > As(min.)="AS(MIN.)" cm2" 3327 GOTO 3345 3330 PRINT " Mu+ (max.) ="MU1" t.m , As (required) ="AS1" cm2 < As(min.)="AS(MIN.)" cm2" 3335 IF AS1<0.75*AS(MIN.) THEN GOSUB 9000 :GOTO 3350 3340 AS=AS(MIN.) 3345 GOSUB 6700 3350 NB1=NB :DIA1=DIA :ASP1=ASP 3360 LOCATE ,2: COLOR 0,4 3370 PRINT " USE [ "NB1;CHR$(237);DIA1 " mm ] Bottom reinf' , As (provided) ="ASP1" cm2 " 3380 COLOR 15,1:PRINT " " 3390 MU2=0.86*MU1/3 3400 MU=MU2 3410 GOSUB 6300 3420 MU2=(CINT(MU2*100))/100 :AS2=(CINT(AS*100))/100 3425 PRINT 3430 IF AS2<AS(MIN.) GOTO 3445 3435 PRINT " Mu- (min.) ="MU2" t.m , As (required) ="AS2" cm2 > As(min.)="AS(MIN.)" cm2" 3440 GOTO 3470 3445 PRINT " Mu- (min.) ="MU2" t.m , As (required) ="AS2" cm2 < As(min.)="AS(MIN.)" cm2" 3450 IF CASE<>2 THEN AS=AS(MIN.) :GOTO 3470 3455 PRINT 3458 AS=CINT(AS2*1.33*100)/100 3460 PRINT " Using As = 1.33 x As(req.) = "AS" cm2" 3470 GOSUB 6700 3480 NB2=NB :DIA2=DIA :ASP2=ASP 3490 LOCATE ,2: COLOR 0,4 3500 PRINT " USE [ "NB2;CHR$(237);DIA2 " mm ] Top reinf' , As (provided) ="ASP2" cm2 " 3510 COLOR 15,1:PRINT " " 3515 PRINT " If you are not satisfied with the choice of TOP REINF'." 3520 PRINT " You can chose any NUMBER and DIAMETER of bars you prefer" 3530 PRINT " Do you want to change the choice for TOP REINF'. (Y/N) ? "; 3540 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 3540 3550 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOSUB 7000 3560 IF Y$="N" OR Y$="n" THEN PRINT " NO " 3570 PRINT :PRINT " BEAM REINFORCEMENT : " 3575 PRINT :LOCATE ,2: COLOR 0,4 3580 PRINT " USE [ "NB2;CHR$(237);DIA2 " mm ] Top reinf' , As (provided) ="ASP2" cm2 " 3585 COLOR 15,1:PRINT " " 3588 LOCATE ,2: COLOR 0,4 3590 PRINT " USE [ "NB1;CHR$(237);DIA1 " mm ] Bottom reinf' , As (provided) ="ASP1" cm2 " 3595 COLOR 15,1:PRINT " " 3600 PRINT " The reinforcement shown is for conc. sect. b ="B" cm * h ="H" cm" 3610 PRINT " Do you want to change the SECTION or REINFORCEMENT (Y/N) ? "; 3620 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 3620 3630 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 3010 3640 IF Y$="N" OR Y$="n" THEN PRINT " NO " :GOTO 3700 3700 '-----------------------------------------------Shear Force & Stress Calc. 3710 CLS:LOCATE 2,3 : COLOR 15,5 3720 PRINT " **** SINGLE SPAN BEAM DESIGN * BEAM : B"NMB " **** " 3730 PRINT 3740 LOCATE ,3 :PRINT "CONCRETE f'c ="FC" kg/cm2 * REINF' fy ="FY" kg/cm2 * SPAN L ="L" m" TAB(79)"" 3750 LOCATE ,3 :PRINT "Width b ="B" cm * Height h ="H" cm * Eff. Depth d ="D" cm " TAB(79)"" 3760 COLOR 15,1 :PRINT 3770 VSC=(CINT(0.53*SQR(FC)*100))/100 'Max. Shear Stress to be taken by conc. 3780 VSM=(CINT(2.5*SQR(FC)*100))/100 'Max. Shear Stress taken by conc.& reinf' 3790 PRINT " **** SHEAR DESIGN ****" 3800 PRINT 3810 INPUT " ENTER WIDTH OF LEFT SUPPORT (cm) ",BSL 3820 INPUT " ENTER WIDTH OF RIGHT SUPPORT (cm) ",BSR 3830 XVL=(BSL/2+D)/100 'Distance d from face of left support 3840 XL=XVL 3850 GOSUB 7900 3860 VL=(CINT(ABS(V)*100))/100 3900 XVR=(BSR/2+D)/100 'Distance d from face of right support 3910 XL=L-XVR 3920 GOSUB 7900 3930 VR=(CINT(ABS(V)*100))/100 3940 IF VL>VR THEN VF=VL ELSE VF=VR 'Shear Force at d from face of supp. 3950 VST=VF*1000/(0.85*B*D) 'Shear Stress at d from face of supp. 3960 VST=(CINT(VST*100))/100 3970 IF VST<=VSM GOTO 4600 3980 PRINT :LOCATE ,3 :COLOR ,4 :BEEP 3990 PRINT " Shear Stress is too high , CHANGE the beam section dimensions" 3995 COLOR ,1 :PRINT :GOTO 2000 4600 '----------------------------------------------------Shear Stirrups Reinf' 4610 PRINT 4620 PRINT " Max. Shear Force Vu at d from face of supp. ="VF" ton" 4630 PRINT " Max. Shear Stress vu = Vu / ( 0.85 * b * d ) ="VST" kg/cm2" 4640 PRINT " Max. Shear Stress taken by conc. vc =.53 *SQR(f'c)="VSC" kg/cm2" 4650 PRINT :LOCATE ,3 :COLOR 0,7 4660 INPUT " ENTER Max. Spacing of Stirrups to be used (cm) ",SMAX 4670 COLOR 15,1 :PRINT 4675 IF SMAX <=0 THEN SMAX =20 4680 AV(MIN.)=(CINT((3.5*B*SMAX/FYS)*100))/100 4690 NVM=1+INT(0.95*AV(MIN.)/(0.505*2)) 4700 AVP(MIN.)=NVM*0.505*2 4710 PRINT " min. required area of shear stirrups reinf' ="AV(MIN.)"cm2" 4720 PRINT " NEED "NVM" STR. "CHR$(237)" 8 mm "CHR$(64);SMAX" cm SPC. * Av (prv.)="AVP(MIN.)" cm2" 4730 PRINT 4740 IF VST>=(VSC+3.5) GOTO 4770 4750 PRINT " Since vu < vc+3.5 only min. web reinf' is required" 4760 NV=NVM :S=SMAX :AV=AV(MIN.) :AVP=AVP(MIN.) :DV=8 :GOTO 4880 4770 PRINT " ** CHOICES OF SHEAR STIRRUPS REINF' **" 4780 FOR NV=1 TO 3 'No. of closed stirrups 4790 FOR S =15 TO SMAX STEP 5 'Spacing of stirrups 4800 GOSUB 7600 4810 PRINT " "NV" STR. "CHR$(237);DV" mm "CHR$(64);S" cm SPC. * Av (Req.)="AV" cm2 *Av (Prv.)="AVP" cm2" 4820 NEXT S 4830 NEXT NV 4840 PRINT 4850 INPUT " ENTER the preferable NUMBER of stirrups ",NV 4855 IF NV=0 THEN NV=1+INT(AV/(0.505*2)) 4860 INPUT " ENTER the preferable SPACING of stirrups ",S 4865 IF S=0 THEN S=SMAX 4870 GOSUB 7600 4880 PRINT :LOCATE ,4: COLOR 0,4 4890 PRINT "USE [ "NV" STR. "CHR$(237);DV" mm "CHR$(64);S" cm SPACING ]" 4900 COLOR 15,1 :PRINT 5000 '-----------------------------------------------------Print Data & Results 5010 PRINT " *** DO YOU WHANT THIS BEAM DESIGN TO BE PRINTED (Y/N) ? ***"; 5020 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 5020 5022 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 5030 5024 IF Y$="N" OR Y$="n" THEN PRINT " NO " :GOTO 6010 5030 H$=STRING$(79,61) 5035 IF FY<=3000 THEN BRDA$=CHR$(239)+CHR$(8)+CHR$(47) ELSE BRDA$=CHR$(111)+CHR$(8)+CHR$(84) 5040 IF FYS<=3000 THEN BRDB$=CHR$(239)+CHR$(8)+CHR$(47) ELSE BRDB$=CHR$(111)+CHR$(8)+CHR$(84) 5042 LPRINT 5045 LPRINT CHR$(14)"Arabian Consulting Engineering Services" 5050 LPRINT "P. O. Box 146 Riyadh - Saudi Arabia" 5055 LPRINT H$ 5060 LPRINT CHR$(14)" PROJECT: "PRJ$ 5065 LPRINT 5070 LPRINT " BUILDING : "BLD$ TAB(58)"PAGE No.:" 5075 LPRINT " DESIGNED BY : "DSR$ TAB(31)"/ CHECKED BY : "TAB(58)"DATE : "DATE$ 5080 LPRINT :LPRINT H$ 5085 LPRINT " RCDESIGN PROGRAM PREPARED BY : Amjad J.El-Sha'ir, P.O.Box 926447 Amman-Jordan" 5090 LPRINT " THIS COPY TO BE USED ONLY BY : Arabian Consulting Engineering Services K.S.A" 5095 LPRINT H$ 5100 LPRINT CHR$(14) " SINGLE SPAN BEAM DESIGN "TAB(30)"BEAM: B"NMB 5110 LPRINT H$ :LPRINT 5120 LPRINT CHR$(27)"G"; 5130 LPRINT " ** CONCRETE & STEEL PROPERTIES ** " 5140 LPRINT CHR$(27)"H";" --------------------------------- " 5150 LPRINT " - Concrete Crushing Strength f'c ="FC" kg/cm2 " 5160 LPRINT " - Reinf' Steel Yield Stress fy ="FY" kg/cm2 " 5170 LPRINT CHR$(27)"G" 5180 LPRINT " ** BEAM SECTION DIMENSIONS ** " 5190 LPRINT CHR$(27)"H";" ----------------------------- " 5200 LPRINT " - Width b ="B" cm" TAB(28) "- Height h ="H" cm" TAB(54) "- Eff. Depth d ="D" cm" 5210 LPRINT H$ 5220 LPRINT " Max. Sect. Capacity Ku ="KU(MAX.) TAB(40) " Max. Moment Capacity Mu ="MU(MAX.)" t.m" 5230 LPRINT " Min. Steel Ratio Ps ="PS(MIN.) TAB(40) " Max. Steel Ratio Ps ="PSX(MAX.) 5240 LPRINT " Min. Steel Area As ="AS(MIN.)" cm2" TAB(40) " Max. Steel Area As ="ASX(MAX.)" cm2" 5250 LPRINT H$ 5260 LPRINT CHR$(27)"G" 5270 LPRINT " ** BEAM SPAN LENGTH L = "L" m **" 5280 LPRINT 5290 LPRINT " ** BEAM LOADING **" 5300 LPRINT CHR$(27)"H" 5310 LPRINT " * UNIFORMLY DISTRIBUTED LOADS * " 5320 LPRINT " W ="W" ton/meter " 5330 LPRINT 5340 IF JB<=0 GOTO 5450 5350 LPRINT " * CONCENTRATED LOADS * " 5360 FOR J= 1 TO JB 5370 LPRINT " "J"- LOAD F ="F(J)" ton , At Distance ="X(J)" m (from left support)" 5380 NEXT 5390 LPRINT 5400 LPRINT 5450 IF ZB<=0 GOTO 5520 5460 LPRINT " * UNIFORM BLOCK LOADS * " 5470 FOR Z= 1 TO ZB 5480 LPRINT " "Z"- W ="W3(Z)" t/m , Starting at "A3(Z)" m (from left supp.) , For"B3(Z)" m Length" 5490 NEXT 5510 LPRINT 5520 IF QB<=0 GOTO 5590 5530 LPRINT " * TRIANGULER LOADS *" 5540 FOR Q= 1 TO QB 5550 LPRINT " "Q"- W ="W5(Q)" t/m , Starting at "A5(Q)" m (from left supp.) , For"B5(Q)" m Length" 5560 LPRINT " With max. Load Intensity at "C5(Q)"m from left support " 5570 NEXT 5580 LPRINT 5590 LPRINT CHR$(27)"G"; 5600 LPRINT " ** Reaction at LEFT Support R (left) ="RL" ton **" 5610 LPRINT " ** Reaction at RIGHT Support R (right) ="RR" ton **" 5620 LPRINT CHR$(27)"H" 5630 LPRINT " Max. Positive Moment Mu+ = "MU1" t.m < Mu (max.)" 5640 LPRINT " Location (from left ) X = "X" meter" 5650 IF AS1<AS(MIN.) GOTO 5680 5660 LPRINT " Required Area of Steel As = "AS1" cm2 > As (min.)" 5670 GOTO 5690 5680 LPRINT " Required Area of Steel As = "AS1" cm2 < As (min.)" 5690 LPRINT CHR$(27) "G" 5700 LPRINT " USE [ "NB1;BRDA$;DIA1 " mm ] Bottom reinf' , As (provided) ="ASP1" cm2" 5710 LPRINT CHR$(27) "H";" -------------------------------------------------------------------------" 5720 LPRINT 5730 LPRINT " Min. Negative Moment Mu- = "MU2" t.m < Mu (max.)" 5740 IF AS2<AS(MIN.) GOTO 5770 5750 LPRINT " Required Area of Steel As = "AS2" cm2 > As (min.)" 5760 GOTO 5780 5770 LPRINT " Required Area of Steel As = "AS2" cm2 < As (min.)" 5780 LPRINT CHR$(27) "G" 5790 LPRINT " USE [ "NB2;BRDA$;DIA2 " mm ] Top reinf' , As (provided) ="ASP2" cm2" 5800 LPRINT CHR$(27) "H";H$ 5810 LPRINT CHR$(27)"G"; 5820 LPRINT " ** SHEAR DESIGN **" 5830 LPRINT CHR$(27)"H" 5840 LPRINT " Max. Shear Force Vu at (d) from face of supp. ="VF" ton" 5850 LPRINT " Max. Shear Stress vu = Vu / ( 0.85 * b * d ) ="VST" kg/cm2" 5860 LPRINT " Max. Shear Stress taken by conc. vc =.53 *SQR(f'c)="VSC" kg/cm2" 5870 LPRINT 5880 LPRINT " For "S" cm Spacing" TAB(54) "Av (requ.) ="AV" cm2" 5890 LPRINT CHR$(27)"G" 5900 LPRINT " USE [ "NV" STR. "BRDB$;DV" mm "CHR$(64);S" cm SPACING ]" TAB(54) "Av (prov.) ="AVP" cm2" 5910 LPRINT CHR$(27) "H" 5920 LPRINT CHR$(12) 6000 '-------------------------------------------------------End of Beam Design 6010 PRINT " *** DO YOU HAVE OTHER SINGLE SPAN BEAMS TO DESIGN (Y/N) ? ***"; 6020 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 6020 6022 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 10 6024 IF Y$="N" OR Y$="n" THEN PRINT " NO " :PRINT :PRINT " [ YOU WILL BE SEND BACK TO THE RCDESIGN MAIN MENU ] " :CHAIN "RCDESIGN",2500 6100 END '----------------------------------------------------- END OF RUNNING 6200 '************************ SUBROUTINES ******************************** 6300 '-------------------------------- SUBROUTINE To Find The Reinforcement for a known Section Dimensions 6310 WC=(1-SQR(1-2.36*MU*100000/(B*D^2*0.9*FC)))/1.18 6320 KU=0.9*FC*WC*(1-0.59*WC) 6330 ACD=(WC/0.85)*D 'depth of compression Whitny Block 6340 CCD=AC/0.85 'depth of nutral axis 6350 JUD=(1-0.59*WC)*D 6360 PS=WC*FC/FY 'steel ratio 6370 AS=PS*B*D 'area of steel reinf' 6380 RETURN 6500 '------------------------- SUBROUTINE To Find The Width of Beam and Reinf' for a given steel ratio 6510 WC=PS*FY/FC 6520 KU=0.9*FC*WC*(1-0.59*WC) 6530 AC=WC/0.85 6540 CC=AC/0.85 6550 JU=1-0.59*WC 6560 B=CINT(MU*100000/(KU*D^2)) 6570 AS=PS*B*D 6580 NB=CINT(B/10) 6590 IF NB<2 THEN NB=2 6600 DIA=2+2*INT(SQR(4*100*AS/(3.14159*NB))/2) 6610 IF DIA<10 THEN DIA=10 6620 IF DIA<24 GOTO 6650 6630 DIA=25 6640 NB=1+INT(AS/4.908) 6650 ASP=NB*3.14159*(DIA/10)^2/4 6660 ASP=(CINT(ASP*100))/100 6670 RETURN 6700 '-------- SUBROUTINE to choose the suitable Reinf'for Max. Positive Moment 6705 NB=CINT(B/10) 6710 IF NB<2 THEN NB=2 6715 DIAT=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2) 6717 IF DIAT>24 THEN DIAT=24 6720 G=0 :PRINT 6725 FOR DIA= DIAT-4 TO DIAT+4 STEP 2 6730 IF DIA<10 THEN DIA=10 6735 IF DIA<24 GOTO 6750 6740 DIA=25 6750 NB=1+INT(AS*0.95*400/(3.14159*DIA^2)) 6755 IF NB<2 THEN NB=2 6760 ASP=NB*3.14159*(DIA/10)^2/4 6770 G=G+1 6810 PRINT " Choice"G" : USE "NB;CHR$(237);DIA"mm , As(provided) ="ASP" cm2" 6815 IF DIA=25 OR NB=2 GOTO 6830 6820 NEXT 6830 PRINT :LOCATE ,3 :COLOR 0,7 6840 INPUT " CHOOSE THE SUITABLE [ NUMBER OF BARS ] TO BE USED ",NB 6845 COLOR 15,1:PRINT " " 6850 IF NB<2 THEN NB=2 6860 DIA=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2) 6890 IF DIA<10 THEN DIA=10 6900 IF DIA<24 GOTO 6930 6910 DIA=25 6920 NB=1+INT(AS*0.95/4.908) 6930 ASP=NB*3.14159*(DIA/10)^2/4 6940 ASP=(CINT(ASP*100))/100 6950 RETURN 7000 '-------- SUBROUTINE to choose the suitable Reinf'for Min. Negative Moment 7010 PRINT 7020 INPUT " ENTER THE PREFERABLE [ NUMBER OF BARS ] ",NB 7030 INPUT " ENTER THE PREFERABLE [ DIAMETER OF BARS ] ",DIA 7040 IF NB<2 THEN NB=2 7050 IF DIA<10 THEN DIA=10 7060 IF DIA>22 THEN DIA=25 7070 NB2=NB :DIA2=DIA :ASP2=ASP 7080 RETURN 7300 '------------------ SUBROUTINE To find Beam Section and Reinf' Limitations 7310 PSX(MAX.)=0.75*(4400/(FY+6090))*FC/FY ' Max. Ratio of Reinf' 7320 WC(MAX.)=PSX(MAX.)*FY/FC 7330 ASX(MAX.)=PSX(MAX.)*B*D 7340 KU(MAX.)=0.9*FC*WC(MAX.)*(1-0.59*WC(MAX.)) 7350 ACD(MAX.)=WC(MAX.)*D/0.85 'Depth of comp. Whitny Block 7360 CCD(MAX.)= ACD(MAX.)/0.85 'Depth of Nutral Axis 7370 JUD(MAX.)=(1-0.59*WC(MAX.))*D 'Liver Arm 7380 MU(MAX.)=KU(MAX.)*B*D^2/100000 'Max. Moment Capacity of Rib 7390 PS(MIN.)=14.05/FY 7400 AS(MIN.)=PS(MIN.)*B*D 7410 PSX(MAX.)=(CINT(PSX(MAX.)*10000))/10000 7420 WC(MAX.)=(CINT(WC(MAX.)*100))/100 7430 ASX(MAX.)=(CINT(ASX(MAX.)*100))/100 7440 KU(MAX.)=(CINT(KU(MAX.)*100))/100 7450 ACD(MAX.)=(CINT(ACD(MAX.)*100))/100 7460 CCD(MAX.)=(CINT(CCD(MAX.)*100))/100 7470 JUD(MAX.)=(CINT(JUD(MAX.)*100))/100 7480 MU(MAX.)=(CINT(MU(MAX.)*100))/100 7490 PS(MIN.)=(CINT(PS(MIN.)*10000))/10000 7500 AS(MIN.)=(CINT(AS(MIN.)*100))/100 7510 RETURN 7600 '------------------------------------- SUBROUTINE to find the shear reinf' 7610 IF VST>=(VSC+3.5) GOTO 7640 7620 AV=3.4*B*S/FYS 7630 GOTO 7650 7640 AV=(VST-VSC)*B*S/FYS 7650 DV=2+2*INT(SQR(4*100*AV*0.95/(3.14159*NV*2))/2.001) 7660 IF DV<8 THEN DV=8 7670 AVP=2*NV*3.14159*DV^2/400 7680 AV=(CINT(AV*100))/100 7690 AVP=(CINT(AVP*100))/100 7700 VF=(CINT(VF*100))/100 7710 VST=(CINT(VST*100))/100 7720 VSC=(CINT(VSC*100))/100 7730 RETURN 7800 '------------------------------------------------- Display Invalid Entries 7810 PRINT :LOCATE ,6 :COLOR ,4 : BEEP 7820 PRINT " *** YOU WERE GIVEN TWO CHANCES TO ENTER , BUT YOU FAILED *** "TAB(72)"" :COLOR ,1 7830 PRINT :LOCATE ,6 :COLOR ,4 7840 PRINT " *** ENTER Y TO REDO THIS BEAM OR TO GO FOR OTHER BEAMS *** "TAB(72)"" :COLOR ,1 7850 PRINT 7860 GOTO 6000 7870 RETURN 7900 '----------------------- SUBROUTINE TO FIND SHEAR FORCE AT A CERTAIN POINT 7910 V=RL-W*XL 7915 IF JB<=0 GOTO 7935 7920 FOR J=1 TO JB 7925 IF XL>X(J) THEN V=V-F(J) 7930 NEXT J 7935 IF ZB<=0 GOTO 7965 7940 FOR Z=1 TO ZB 7945 IF XL<=A3(Z) GOTO 7960 7950 IF XL<(A3(Z)+B3(Z)) THEN D3=XL-A3(Z) ELSE D3=B3(Z) 7955 V=V-D3*W3(Z) 7960 NEXT 7965 IF QB<=0 GOTO 7998 7970 FOR Q=1 TO QB 7975 IF XL<=A5(Q) GOTO 7995 7980 IF C5(Q)=A5(Q) GOTO 7990 7985 IF XL<C5(Q) THEN V=V-(W5(Q)/(C5(Q)-A5(Q)))*(XL-A5(Q))^2/2 :GOTO 7995 7988 IF C5(Q)=(A5(Q)+B5(Q)) GOTO 7992 7990 IF XL<(A5(Q)+B5(Q)) THEN V=V-W5(Q)*B5(Q)/2+(W5(Q)/(A5(Q)+B5(Q)-C5(Q)))*(A5(Q)+B5(Q)-XL)^2/2 :GOTO 7995 7992 IF XL>= (A5(Q)+B5(Q)) THEN V=V-W5(Q)*B5(Q)/2 7995 NEXT 7998 RETURN 8000 '----------------------- SUBROUTINE TO FIND THE MOMENT AT A CERTAIN POINT 8010 MP=RL*XL-W*XL^2/2 8020 IF JB<=0 GOTO 8060 8030 FOR J=1 TO JB 8040 IF XL>X(J) THEN MP=MP-F(J)*(XL-X(J)) 8050 NEXT 8060 IF ZB<=0 GOTO 8110 8070 FOR Z=1 TO ZB 8080 IF XL<=A3(Z) GOTO 8100 8090 IF XL<=(A3(Z)+B3(Z)) THEN MP=MP-W3(Z)*(XL-A3(Z))^2/2 ELSE MP=MP-W3(Z)*B3(Z)*(XL-A3(Z)-B3(Z)/2) 8100 NEXT 8110 IF QB<=0 GOTO 8200 8120 FOR Q= 1 TO QB 8130 IF XL<=A5(Q) GOTO 8180 8140 IF C5(Q)=A5(Q) GOTO 8160 8150 IF XL<=C5(Q) THEN MP=MP-(W5(Q)/(C5(Q)-A5(Q)))*(XL-A5(Q))^3/6 :GOTO 8180 8155 IF C5(Q)=(A5(Q)+B5(Q)) GOTO 8170 8160 IF XL<=(A5(Q)+B5(Q)) THEN WR5=W5(Q)*(A5(Q)+B5(Q)-XL)/(A5(Q)+B5(Q)-C5(Q)) :MP=MP-(W5(Q)*(C5(Q)-A5(Q))/2)*(XL-A5(Q)-(C5(Q)-A5(Q))*2/3)-WR5*(XL-C5(Q))^2/2-(W5(Q)-WR5)*(XL-C5(Q))^2/3 :GOTO 8180 8170 IF XL>(A5(Q)+B5(Q)) THEN MP=MP-(W5(Q)*(C5(Q)-A5(Q))/2)*(XL-A5(Q)-(C5(Q)-A5(Q))*2/3)-(W5(Q)*(A5(Q)+B5(Q)-C5(Q))/2)*(XL-C5(Q)-(A5(Q)+B5(Q)-C5(Q))/3) 8180 NEXT 8200 RETURN 8400 '----------------------------- SUBROUTINE to calculate the Positive Moment 8440 IF ZB>0 OR QB>0 GOTO 8510 8445 'case with uniform & cocentrated load 8450 XL=RL/W 8455 MP=RL*XL-W*XL^2/2 8460 IF JB<=0 GOTO 8558 8465 J=1 8470 IF XL<=X(J) GOTO 8490 8475 XL=XL-F(J)/W 8480 IF XL<=X(J) THEN XL=X(J) :GOTO 8490 8485 IF J<JB THEN J=J+1 :GOTO 8470 ELSE J=J+1 8490 MP=RL*XL-W*XL^2/2 8495 FOR J=1 TO J-1 8500 MP=MP-F(J)*(XL-X(J)) 8505 NEXT :GOTO 8558 8510 'case with UNIFORM BLOCK LOAD and/or TRIANGULAR LOAD 8515 XL=L/2 8520 GOSUB 7900 8525 GOSUB 8000 8530 IF V=0 GOTO 8558 8535 IF V<0 GOTO 8550 8540 M1=MP :XL=XL+0.05 :GOSUB 8000 8545 IF MP>M1 GOTO 8540 ELSE XL=XL-0.05 :MP=M1 :GOTO 8558 8550 M1=MP :XL=XL-0.05 :GOSUB 8000 8552 IF MP>M1 GOTO 8550 ELSE XL=XL+0.05 :MP=M1 8558 RETURN 9000 '-------- SUBROUTINE to choose the suitable Reinf'for Max. Positive Moment 9005 PRINT 9010 PRINT " Case 1- Using As = As(min.) = "AS(MIN.)" cm2" 9020 AS=AS(MIN.) 9030 NB=CINT(B/10) 9040 IF NB<2 THEN NB=2 9050 DIAT=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2) 9055 IF DIAT>24 THEN DIAT=24 9060 G=0 :PRINT 9070 FOR DIA= DIAT-4 TO DIAT+4 STEP 2 9080 IF DIA<10 THEN DIA=10 9090 IF DIA<24 GOTO 9110 9100 DIA=25 9110 NB=1+INT(AS*0.95*400/(3.14159*DIA^2)) 9120 IF NB<2 THEN NB=2 9130 ASP=NB*3.14159*(DIA/10)^2/4 9140 G=G+1 9150 PRINT " Choice"G" : USE "NB;CHR$(237);DIA"mm , As(provided) ="ASP" cm2" 9160 IF DIA=25 OR NB=2 GOTO 9180 9170 NEXT 9180 PRINT 9200 AS=CINT(AS1*1.33*100)/100 9205 PRINT " Case 2- Using As = 1.33 x As(req.) = "AS" cm2" 9210 NB=CINT(B/10) 9220 IF NB<2 THEN NB=2 9230 DIAT=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2) 9235 IF DIAT>24 THEN DIAT=24 9240 G=0 :PRINT 9250 FOR DIA= DIAT-4 TO DIAT+4 STEP 2 9260 IF DIA<10 THEN DIA=10 9270 IF DIA<24 GOTO 9290 9280 DIA=25 9290 NB=1+INT(AS*0.95*400/(3.14159*DIA^2)) 9300 IF NB<2 THEN NB=2 9310 ASP=NB*3.14159*(DIA/10)^2/4 9320 G=G+1 9330 PRINT " Choice"G" : USE "NB;CHR$(237);DIA"mm , As(provided) ="ASP" cm2" 9340 IF DIA=25 OR NB=2 GOTO 9360 9350 NEXT 9360 PRINT :LOCATE ,3 :COLOR 0,7 9370 INPUT " CHOOSE THE SUITABLE [ CASE NUMBER (1,2) ] TO BE USED ",CASE 9375 COLOR 15,1:PRINT " " 9380 IF CASE<>1 AND CASE<>2 GOTO 9360 9390 LOCATE ,3 :COLOR 0,7 9400 INPUT " CHOOSE THE SUITABLE [ NUMBER OF BARS ] TO BE USED ",NB 9405 COLOR 15,1:PRINT " " 9410 IF NB<2 THEN NB=2 9420 IF CASE=1 THEN AS=AS(MIN.) 9430 DIA=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2) 9440 IF DIA<10 THEN DIA=10 9450 IF DIA<24 GOTO 9480 9460 DIA=25 9470 NB=1+INT(AS*0.95/4.908) 9480 ASP=NB*3.14159*(DIA/10)^2/4 9500 ASP=(CINT(ASP*100))/100 9510 RETURN